---
title: 모범 사례
image: /images/user-guide/tips/light-bulb.png
---

<Frame>
  <img src="/images/user-guide/tips/light-bulb.png" alt="Header" />
</Frame>

이 문서는 백엔드 작업 시 따를 모범 사례를 설명합니다.

## 모듈형 접근법 따르기

백엔드는 NestJS로 작업할 때 기본 원칙 중 하나인 모듈형 접근법을 따릅니다. 코드베이스를 깔끔하고 체계적으로 유지하려면 코드를 재사용 가능한 모듈로 분리하십시오.
각 모듈은 특정 기능이나 기능을 캡슐화하고 명확하게 정의된 범위를 가져야 합니다. 이 모듈형 접근법은 우려사항의 명확한 분리를 가능하게 하며 불필요한 복잡성을 제거합니다.

## 모듈에서 사용할 서비스를 노출시키십시오.

항상 명확하고 단일한 책임을 가진 서비스를 생성하여 코드 가독성과 유지보수성을 향상시킵니다. 서비스의 이름을 일관되게 설명적으로 지정하십시오.

다른 모듈에서 사용하고자 하는 서비스를 노출해야 합니다. 다른 모듈에 서비스를 노출시키면 NestJS의 강력한 의존성 주입 시스템을 통해 가능하며, 구성 요소 간의 느슨한 결합을 촉진합니다.

## `any` 타입 사용 피하기

변수를 `any`로 선언하면 TypeScript의 타입 검사자가 타입 검사를 수행하지 않으므로 변수에 모든 유형의 값을 할당할 수 있게 됩니다. TypeScript는 값에 따라 변수의 타입을 추론하기 위해 타입 추론을 사용합니다. 이를 `any`로 선언하면 TypeScript는 더 이상 타입을 추론할 수 없습니다. 이는 개발 중에 타입 관련 오류를 잡기 어렵게 하여 런타임 오류로 이어지며, 코드를 덜 유지 가능하고, 덜 신뢰할 수 있으며, 다른 사람이 이해하기 어렵게 만듭니다.

이것이 모든 것이 타입을 가져야 하는 이유입니다. 이름이 있는 새 개체를 만들 경우 조작 중인 개체의 모양을 정의하는 인터페이스나 타입을 만들어야 합니다.
